package com.woniu.zsd.merchant.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.woniu.dto.SiteListDto;
import com.woniu.form.AddSiteForm;
import com.woniu.form.SiteListForm;
import com.woniu.form.UpdateSiteForm;
import com.woniu.zsd.merchant.entity.Site;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-03-27
 */
public interface ISiteService extends IService<Site> {

    Page<SiteListDto> siteList(SiteListForm siteListForm) throws JsonProcessingException;

    void addSite(AddSiteForm addSiteForm) throws Exception;

    void deleteSite(Integer id);

    void updateSite(UpdateSiteForm updateSiteForm);

    List<Integer> recentSiteId(Double longitude, Double latitude) throws IOException;

    SiteListDto findSiteById(Integer id);
}
